Method and apparatus for manufacturing packaging optimization

ABSTRACT

A simulation program that determines a packaging configuration for placement of any math-based part/assembly into a selected shipping container(s) for transfer of the product to customer plants. The simulation program determines either automatically or manually an efficient packaging configuration for placement of any part/assembly into any appropriate shipping container.

TECHNICAL FIELD

[0001] This application relates to a method and apparatus fordetermining and providing a user with a packaging configuration basedupon a user provided input.

BACKGROUND

[0002] Currently, production-part packaging configurations are manuallydetermined using “best guess” method and manual alignment of physicalparts/assemblies by industrial and packaging engineering group members.This process is labor-intensive and generally is only applicable on apart-by-part basis thus the process must be repeated for each uniquepart/assembly.

[0003] A simulation program that determines optimum and efficientpackaging configurations for placement of any math-based part/assemblyinto its appropriate shipping container(s) for transfer of the productto customer plants.

[0004] A simulation program that determines either automatically ormanually an efficient packaging configuration for placement of anypart/assembly into any appropriate shipping container.

[0005] The simulation program also allows the user to modify the outputin order to select containers based upon other criteria including butnot limited to the following: customer preference, size, weight, amountof containers per eight hour shift and other manufacturing requirements.

[0006] The above-described and other features and advantages of thepresent invention will be appreciated and understood by those skilled inthe art from the following detailed description, drawings, and appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a schematic illustration of the packaging optimizationprocess of the present application;

[0008]FIG. 2 is a diagrammatic illustration of portions of a controlalgorithm for the packaging optimization method of the presentapplication;

[0009]FIG. 2A is a diagrammatic illustration of portions of an automaticmode portion of the control algorithm for the packaging optimizationmethod of the present application;

[0010]FIG. 2B is a diagrammatic illustration of portions of a manualmode portion of the control algorithm for the packaging optimizationmethod of the present application;

[0011]FIG. 2C is a diagrammatic illustration of portions of a retrievalmode portion of the control algorithm for the packaging optimizationmethod of the present application;

[0012] FIGS. 3-7 illustrate an automatic mode of the packagingoptimization method illustrated in FIG. 2;

[0013] FIGS. 8-9 illustrate a manual mode of the packaging optimizationmethod illustrated in FIG. 2;

[0014] FIGS. 10-15 illustrate a 3D nesting method illustrated in FIG. 2and FIG. 3; and

[0015] FIGS. 16-20 illustrate options available for the controlalgorithm.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0016] Referring now to FIG. 1, the method for optimizing a packagingconfiguration for an item to be shipped is illustrated generally. Inexemplary embodiment of the present invention, an executable simulationprogram 10 is run from a computer workstation 12. In response to arequest for an input of the item to be used in the simulation, theprogram runs in either a manual, automatic or retrieval mode.

[0017] The item inputted is a computer aided design (CAD) modelrepresentation 14 of the physical part/assembly to be shipped. Thiscomputer model is selected from a product database 16. For example,model 14 can be a CAD representation of an automotive part such as awindow regulator motor.

[0018] The simulation arranges model 14 (primary) with a duplicate model(secondary) in a variety of configurations for both the primary and thesecondary. Here, these two configured parts serve as the unit of measurefor the development of part/container layouts. These unit patterns areoriented into six unique pattern orientations, which are considered foreach packaging container. These six orientations relate to movement ofthe configured patterns about the x, y and z axis. Each of these patternorientations is considered for each packaging container available from acontainer database 18. Accordingly, program 10 analyzes manyarrangements of the model and numerous configurations for comparison tomultiple containers in order to provide the most efficientconfiguration.

[0019] Upon completion of the simulation the most efficient packagingconfiguration is determined with reference to the container size, thenumber of parts incorporated into the container, the overall weight ofthe container and efficiency of the pack configuration.

[0020] Referring now to FIG. 2. the operation of program 10 isillustrated schematically. The program user executes step 20 to open thefile for a CAD model 14 from the product database 16. The program userselects the packaging simulation program 21 from a database 16.

[0021] The simulation program prompts the user to select the packagingmode option to be used by the program, either step 22, 23 or 24. In thisembodiment there are three options; step 22 is the option for theautomatic mode (FIG. 2A), step 23 is the option for the manual mode(FIG. 2B), and step 24 is the option for the retrieval mode (FIG. 2C).

[0022] A saved pack layout is opened from a database 16 with theselection of the retrieval mode 24. And the packaging simulation program21 advances to step 31, where the program user can interact with thesaved data through display and printout options.

[0023] The simulation program will run faster with a simplified CAD partmodel, (i.e., a simplified CAD model representation of the original CADmodel), than say that of the actual CAD part model that is availablefrom the product database. Therefore, pack layouts can be created (andsaved) using the simplified CAD part model. And these pack-layouts arethen retrieved after the original CAD part model has been opened, withthe intent of “fine-tuning” the two-part pattern. This allows forimproved pack-layout efficiencies when using the Manual mode of thesimulation program.

[0024] If either the manual or automatic mode is selected, thesimulation program advances to step 26. The program user is thenprompted to enter packaging parameters, which include but are notlimited to the following items; part weight, part ship rate, part topart clearance, part to container clearance, and part orientationoptions (or limitations).

[0025] Once the packaging parameters are inputted at step 26, thesimulation program advances to step 28. And the program user is promptedto select a customer container database that includes the listing ofavailable containers for multiple customers. Each customer containerdatabase in 28 has the listing of available containers and the selectioncriteria (if applicable) for choosing the appropriate container. Withselecting the ‘CUSTOM’ option in step 28, the program user can create anew container database in step 29. The ‘CUSTOM’ option 29 includes:creating a unique list of containers by selecting any number of customerdatabases and/or by individually defining container sizes; saving andretrieving the newly created container list; and display options forlisting and clearing the container list.

[0026] If the manual mode is selected in step 23 (FIG. 2), then step 32provides the program user with a plurality of part/container pack designoptions. These options include but are not limited to the following;adjustment of the pattern, adjustment of the repeat distance, listspacks, display packs, displays of the work pattern, available options,parameters, information and of course an exit prompt. All of theseoptions in step 32 are interactive and can be continuously selecteduntil the exit option is selected. Additionally, the options of steps 32are presented to the program user in the recommended order of usage.Although these options are in the order of recommended usage the orderof their usage may vary.

[0027] Referring now to FIGS. 3-7, portions of the simulation run by theautomatic mode, which can be selected in step 22, are illustrated. FIGS.3-7 illustrate just one example of a simulation run with a particularmodel 38. Referring in particular to FIG. 3, the development of atwo-part pattern about the xy plane is illustrated. Here, a primary part38 is fixed at the origin of a principal plane 40. Primary part 38corresponds to the CAD model selected in step 20 of FIG. 2. In thisFigure principal plane 40 is configured about the xy axis. Duringexecution of the simulation program, primary part 38 is compared with aplurality of secondary part locations 42; and are arranged in an arrayabout primary part 38 in principal plane 40 (FIG. 3).

[0028] For purposes of illustration, twelve positions of secondary part42 are arranged in an array about primary part 38. It is, of course,contemplated that more or less locations of the secondary part 42 may bearranged in an array about primary part 38. However, for purposes ofthis illustration twelve positions are used.

[0029] In addition, four unique orientations of the primary part arealso investigated with each of the secondary part locations. Threeprimary part orientations are illustrated by bracket 44. The fourthconfiguration being the primary part 38 orientation that is currentlybeing investigated by the simulation program and is illustrated at theorigin of principal plane 40.

[0030] Accordingly, FIG. 3 illustrates that 48 two-part patternconfigurations in the xy plane are available for comparison by thesimulation program.

[0031] Referring now to FIG. 4, the analysis of a two-part pattern forthe same CAD model selected in step 20 is illustrated about the xzplane. Here, a primary part 38 is fixed at the origin of a principalplane 46. In this Figure principal plane 46 is configured about the xzaxis. Similar to the comparison of FIG. 3, and during execution of thesimulation program, primary part 38 is compared with a plurality ofsecondary parts 42 which are arranged in an array about principal plane40 (FIG. 3).

[0032] In addition, four unique orientations of the primary part arealso investigated with each of the secondary part locations. Threeprimary part orientations are illustrated by bracket 44. The fourthconfiguration being the primary part 38 orientation that is currentlybeing investigated by the simulation program and is illustrated at theorigin of principal plane 46. Accordingly, FIG. 4 illustrates that 48two-part pattern configurations in the xz plane are available forcomparison by the simulation program.

[0033] Referring now to FIG. 5, the analysis of a two-part pattern forthe same CAD model selected in step 20 is illustrated about the yzplane. Here, a primary part 38 is fixed at the origin of a principalplane 50. In this Figure principal plane 50 is configured about the yzaxis. During execution of the simulation program primary part 38 iscompared with a plurality of the secondary parts 42 which are arrangedin an array about principal plane 50 (FIG. 5).

[0034] In addition, four unique orientations of the primary part arealso investigated with each of the secondary part locations. Threeprimary part orientations are illustrated by bracket 44. The fourthconfiguration being the primary part 38 orientation that is currentlybeing investigated by the simulation program and is illustrated at theorigin of principal plane 50. Accordingly, FIG. 5 illustrates that 48two-part pattern configurations in the yz plane are available forcomparison by the simulation program.

[0035]FIG. 6 illustrates several (54, 56, 58, 60, 62, 64 and 66) of manytwo-part pattern configurations between primary part 3 8 and secondarypart 42 which are utilized by the packaging optimization simulationsystem. For purposes of illustration, and referring now to FIGS. 3 and6, the two-part configurations illustrated in FIG. 6 represent theconfigurations of primary part 38 when it has the initial configurationillustrated as 68 in FIG. 3 and it is being configured with secondarypart 42 having the configuration illustrated by (70-84) in FIG. 3. Theconfiguration of secondary part 42 with respect to primary part 38,namely configurations (70, 72, 74, 76, 78, 80, and 82) corresponds tothe configurations illustrated in FIG. 6 by items (54 and 70), (56 and72), (58 and 74), (60 and 76), (62 and 78), (64 and 80) and (66 and 82),respectively.

[0036] Accordingly, one hundred and twenty, two-part patterns aredetermined from FIGS. 3-5. This number is based upon a twelve pointarray of secondary part 42, which as previously mentioned may bemodified to include more or less positions, and the factoring out ofredundant patterns which may be determined (twenty four in all) from thesimulation run in FIGS. 3-5. Of course, and if the number of positionsin the array varies this number will also vary.

[0037] Referring now to FIG. 7, each two-part pattern orientation isconsidered in six orientations 84, 86, 88, 90, 92 and 94; correspondingto orientations of the two-part patterns about the x, y and z axis. Andthe coordinate system (x, y and z) is understood to be fixed to one ofthe inside corners of the packaging container during simulation.Accordingly, each orientation is considered for each packaging containeravailable from the database.

[0038] Accordingly, the simulation calculates seven hundred and twentypossible configurations (or part layouts) of the developed two-partpatterns. Here, a part layout can be understood to be the unboundedthree dimensional array of a two-part pattern. These seven hundredtwenty part layouts or configurations are then compared to each of thecontainers selected from the database in order to generate thepart/container layouts. If any of the calculated part/container layoutsdo not meet the customers' packaging requirements, then these layoutsare not considered as a valid (or potential) packaging design and (bydefault) will not be displayed to the program user as such. All of thevalid part/container layouts are organized in a list and presented tothe program user as an on-screen display printout (illustrated as box19, FIG. 1).

[0039] Box 30 (FIG. 2) summarizes the execution of the simulationprogram in the automatic mode. Item (A) in box 30 summarizes the run ofthe simulation program that develops the one hundred and twenty possibleconfigurations of the two-part pattern described in FIGS. 3-6. Item (B)in box 30 summarizes the run of the simulation program that executes thecalculations used to develop the part layouts described in FIGS. 7. Item(C) in box 30 summarizes the run of the simulation program that developsthe part/container layouts.

[0040] Referring now to FIGS. 8-10, portions of the manual mode ofprogram 10 are illustrated. The manual mode is selectable from box 23(FIG. 2). During manual mode the user obtains the CAD part model fromthe database and is illustrated in box 100 as the primary part. Thesimulation program prompts the user to develop the pattern by selectingthe pattern direction from the options available in the box 102. In anexemplary embodiment, the default pattern direction in box 102 coincideswith the smallest dimension of the primary part. Of course, and as analternative the default direction may vary. In addition, the user mayselect any pattern direction available in box 102.

[0041] Once the pattern direction is selected, the simulation programcreates a copy (secondary part) of the primary part and is located inthe pattern direction as chosen in box 102. This is illustrated in box104.

[0042] After the pattern direction is selected, the simulation promptsthe user with a menu of options, illustrated in box 32 (FIG. 2). Thefirst option listed (recommended) is to adjust the part-pattern and isillustrated in box 106. Adjustment of the part-pattern consists ofconfiguring the secondary part relative to the primary part which isfixed in position. The part-pattern adjustment options illustrated inbox 106 consists of the following; 3D translation of the secondary partin the six axial directions, translation distance value setting(illustrated in FIG. 107), re-orienting the secondary part 180 degreesabout an axis, change of the pattern direction, and nesting options. Forexample, box 108 illustrates the 180 degrees flipping of the secondarypart along the z-axis.

[0043] After accepting the position of the secondary part, selecting theNest option in box 106 (FIG. 8) allows the program user to select thedimensional control for nesting. This is illustrated in box 1 10 (FIG.9). For example, box 110 provides the user with nesting options ineither one dimension (along the XC, YC or ZC axis), or two dimensional(in the XY, YZ, or XZ plane), or three-dimensional indicated as full(box 1 12).

[0044] Referring now to FIGS. 10-15, the nesting process method isillustrated two dimensionally for simplicity and understanding. Duringthis process an initial clearance gap (between the primary and secondarypart) is provided from the user input for the desired part-to-partclearance (FIG. 2, Box 26); and stored as a calibration constant. Theprimary part is fixed in location at an origin location and then thesecondary part is positioned at any non-intersecting location. Theminimum distance between the primary part and the secondary is measuredand stored in memory as the clearance vector. In addition, thedimensions (x, y, and z) of a boundary box 114 around both parts ismeasured and recorded.

[0045] During operation of the nesting process the minimum distance ismeasured between parts and is compared to the user defined clearancegap. If the minimum distance is greater than the desired part-to-partclearance, then the secondary part is translated along a clearancevector toward the primary part and to the location where the minimumdistance between parts is now equal to the clearance gap (FIG. 11, Box116). And if the dimensions of this new boundary box 116 decreases, thesecondary part is translated incrementally and perpendicularly to theclearance vector until the minimum distance between the parts is reachedwhich will provide the smallest possible dimensions of the boundary box118 (FIG. 14).

[0046] For example, and referring now to FIG. 15 portions of a controlalgorithm 120 for performing the nesting process method is illustrated.The steps of the control algorithm 120 are also illustrated sequentiallyin FIGS. 10-14.

[0047] Box 122 represents the request for a clearance gap input for thetwo parts. Box 124 represents the positioning of the primary part at anorigin point. Box 126 represents the manual positioning of the secondarypart at any non-intersecting location. Box 128 represents the logic formeasuring the minimum distance between the parts and the assignment of avalue to a variable defined as the clearance vector.

[0048] Box 130 represents the measurement of the dimensions of theboundary box defining or enclosing both the secondary and primary parts.This value is stored in memory.

[0049] A decision node 132 determines whether the minimum distance isequal to the clearance gap. If not, a decision node 134 determineswhether the minimum distance is greater than the clearance gap. If not,then the minimum distance is less than the clearance gap. And with box136, the secondary part is translated along the clearance vector to thelocation where the length of the clearance vector is equal to that ofthe clearance gap. Here, the secondary part moves away from the primarypart and in the direction of the clearance vector. And the logic of box128 is repeated.

[0050] If however, the minimum distance measured is greater than theclearance gap, box 138 instructs the secondary part to be moved alongthe clearance vector in the direction toward the primary part to thelocation where the length of the clearance vector is equal to that ofthe clearance gap.

[0051] After this process is performed box 140 represents theremeasurement of the boundary box around both parts and the new value isassigned to a new boundary box measurement stored in memory.

[0052] Alternatively, and if the minimum distance is equal to theclearance gap, box 142 represents the instruction to translate thesecondary part along a line perpendicular to the clearance vector. Afterthis process is performed box 140 represents the remeasurement of theboundary box defined around both parts and this value is assigned to newboundary box measurement stored in memory.

[0053] After the commands of box 140 are executed, a decision node 144determines whether any of the edge dimensions (x, y or z) of theboundary box decreased over the previously recorded dimensions, (i.e.,comparison of new measurement vs. previous measurement).

[0054] If there was no measured decrease in any of the dimensions of theboundary box, box 146 instructs the secondary part to be translated backto its previous position. Then box 148 stores that positionalinformation of the two-part pattern to be used.

[0055] Alternatively, and if any of the dimensions of the boundary boxdecreased, the logic of box 128 is repeated. This process will continueuntil the minimum boundary box dimensions are obtained.

[0056] Referring now to FIG. 16, the option for adjusting the repeatdistance of the two-part pattern is illustrated. Here a command prompt150 provides a user with selections for allowing independent control (x,y and z directions) of the clearance between the two-part patterns. Thisis particularly useful for interpreting the thickness of dunnagerequired for packaging the considered part. Command prompt 150 allowsthe user to manually set the value for the (two-part) pattern repeatdistance by translating the repeated (second) two-part pattern eitheraway or closer to the initial two-part pattern. The magnitude fortranslating the two-part pattern can be set by the user with the ‘MoveDistance’ option. One dimensional nesting (in the direction of ‘SetAxis’ of the two two-part patterns is available with the ‘Auto’ option.

[0057] Referring now to FIG. 17, the options for the listing packcommand of box 32 (FIG. 2) is illustrated as dialog box or prompt 152.And each option in box 152 has its own menu of options, (i.e., prompts154, 156, 158, 160 and 162). Box 164 represents the information obtainedafter the containerization optimization method has been performed. It isnoted that here this option is available for all packaging modes, (e.g.,automatic, retrieve and manual). Box 164 provides the user withnecessary information in order to select the most efficient packagingcontainer. For example, outlined in box 164 a line of text reveals thattwelve parts with an overall (packed container) weight of 28.9 poundsand overall efficiency of 0.3475 is obtained from pack No. 66. Prompt158 allows the user the option to list results by container style,(e.g., Totes, Bulk Packs, All Styles, Single Container and Auto). The‘Auto’ container style is the default setting which selects thecontainer style based on the customer's requirements; that is, if acustomer database was selected in Box 28 (FIG. 2).

[0058] Prompt 160 allows the user to input the maximum weight limit forthe container to be used. Prompt 162 allows the user to input a shiftlimit, (i.e., maximum amount of containers to be shipped during an eighthour work period). Both prompts 160 and 162 have an on/off togglefeature that allows the weight and shift limit control feature to beeither considered or ignored by the simulation program. Prompt 154allows either all the pack results to be listed or to consider only themost efficient results for each unique container size. All of thesefeatures allow the user to modify the output for display purposes.Prompt 156 provides data sorting options that allows the user to sortthe column data in Box 164, (e.g., container volume, total number ofparts per container, containers per shift, efficiency, etc.).

[0059] Referring now to FIG. 18, the display pack option of box 32 (FIG.2) is illustrated by dialog boxes and or command prompts 166, 168 170,172 and 174. Prompts 166 and 168 provide the user with the selectionssettings and the options for allowing the program user to display theindividual pack designs with three different pack-layout options;namely, between parts, around outside edge and don't distributeidentified as information boxes 170, 172 and 174, respectively. It isnoted that this option is available for all packaging modes selected,(e.g., automatic, retrieve and manual).

[0060] Referring now to FIG. 19, the display work pattern option of box32 (FIG. 2) is illustrated by box 176. This action allows the partpattern to be displayed. This is useful for editing the two-partpattern. The pack options in box 32 are illustrated by box 177. Thisaction allows the pack-layout design to be saved (for use in retrievalmode), cleared, retrieved and/or calculated. The ‘Calculate’ option isuseful if changes are made to the original two-part pattern, when usingthe ‘Display Work Pattern’ option (box 176).

[0061] Referring now to FIG. 20, the ‘Parameters’ display andinformation option of box 32 (FIG. 2) are illustrated by dialog box 178and box 180. The parameter option allows the packaging and manufacturingparameters to be edited by the user. The information option displayspositioning information regarding the considered two-part pattern.

[0062] While the invention has been described with reference to anexemplary embodiment, it will be understood by those skilled in the artthat various changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but that the inventionwill include all embodiments falling within the scope of the appendedclaims.

1. A method for determining a packaging configuration for use in ashipping process, comprising: selecting a first component for use in asimulation program; locating said first component at an origin locationin a first plane; arranging a second component in a spatial relationshipwith said first component, said second component being identical to saidfirst component and being located in said first plane; relocating saidsecond component with respect to said first component; and determiningan optimal configuration between said first and second component.
 2. Themethod as in claim 1, further comprising: rearranging said firstcomponent into one of four configurations about three principal axes;and arranging said second component in a spatial relationship with saidfirst component, said second component being identical to said firstcomponent and being located in the same plane as said first component;relocating said second component into multiple locations with respect tosaid first component; and determining an optimal configuration betweensaid first and second component.
 3. The method as in claim 1, whereinsaid optimal configuration is arranged in multiple configurations aboutthe three principal axes and the number of each of said multipleconfigurations is determined for insertion into a container.
 4. Themethod as in claim 3, wherein said container is selected from a list. 5.The method as in claim 1, wherein said optimal configuration is arrangedin multiple configurations about a three axes and the number of each ofsaid multiple configurations is determined for insertion into aplurality of containers.
 6. The method as in claim 5, wherein saidplurality of containers are selected from a list.
 7. A method forproviding a packaging configuration for use in a shipping process,comprising: accessing a database of simplified computer aided designs(CAD) representations of an actual CAD model of an item to be shipped;selecting a first simplified representation for use in a simulationprogram; locating said first simplified representation at an originlocation; arranging a second simplified representation in a spatialrelationship with said first simplified representation, said secondsimplified representation being identical to said first simplified;relocating said second simplified representation with respect to saidfirst simplified representation; and determining an optimalconfiguration between said first and second simplified representations.8. A method for providing a packaging configuration for use in ashipping process, comprising: accessing a database of pattern layouts oftwo identical items; selecting a first pattern layout for use in asimulation program; locating said first pattern layout at an originlocation in a first plane; and arranging first pattern layout in aplurality of positions in order to determine an optimal configuration ofa plurality of said first pattern layouts for shipment in a container.9. The method as in claim 8, wherein said container is selected from adatabase of containers, said database of containers providing containerdimensions.
 10. The method as in claim 9, wherein said database ofcontainers includes containers used by different customers.
 11. Asimulation program for determining a packaging configuration for use ina shipping process, comprising: selecting a computer aided design (CAD)representation of a first product to be used in the simulation program;selecting either an automatic or a manual mode; providing packagingparameters; selecting a customer database have a listing of availablecontainers and container parameters; and determining an optimal packageconfiguration between said first and second component.
 12. Thesimulation program as in claim 11, further comprising a retrieval mode,said retrieval mode providing a saved package configuration for use inthe simulation program.
 13. The simulation program as in claim 12,wherein said automatic mode and said retrieval mode each have a manualoption for modifying said optimal package configuration.
 14. Thesimulation program as in claim 11, wherein said automatic mode has amanual option for modifying said optimal package configuration.
 15. Thesimulation as in claim 11, wherein said optimal package configuration isbased in part upon the overall weight of the container.
 16. Thesimulation as in claim 11, wherein said optimal package configuration isbased in part upon the amount of containers shipped during a workday ofa pre-determnined time frame.
 17. The simulation as in claim 11, whereinsaid optimal package configuration is based in part the most efficientcontainer for a given number of parts.
 18. The simulation as in claim11, further comprising: nesting said CAD representation of said firstproduct to an identical CAD representation of said first product inorder to determine the minimum distance between the CAD representations.19. The simulation as in claim 18, wherein said CAD representations arenested in three different planes with respect to a point of origin. 20.The simulation as in claim 11, wherein said automatic mode determinessaid optimal package configuration by rearranging said first componentinto one of four configurations about three principal axes andsimultaneously arranging said second component in a spatial relationshipwith said first component, said second component being identical to saidfirst component and being located in the same plane as said firstcomponent and relocating said second component into multiple locationswith respect to said first component, said optimal configuration beingbased upon user provided input.
 21. The simulation as in claim 20,wherein said user provided input is selected from the following group:part shipping weight; part ship rate; part-to-part clearance; andpart-to-container clearance.
 22. The simulation as in claim 11, whereinsaid manual determines said optimal package configuration by a userrearranging said first component into one of a plurality ofconfigurations about one of three principal axes and simultaneouslyarranging said second component in a spatial relationship with saidfirst component, said second component being identical to said firstcomponent and being located in the same plane as said first componentand relocating said second component into multiple locations withrespect to said first component, said optimal configuration being basedupon user provided input.
 23. A computer readable medium comprising aplurality of instructions, which when executed by a computer, cause thecomputer to perform the steps of: selecting a CAD representation of afirst product; selecting either an automatic or a manual mode; providingpackaging parameters; selecting a customer database have a listing ofavailable containers and container parameters; and determining anoptimal package configuration for said first product.